package com.generator.sys.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 系统用户
 * </p>
 *
 * @author tiankun
 * @since 2021-06-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_user")
public class SysUserEntity extends Model<SysUserEntity> {

    private static final long serialVersionUID=1L;

    /**
     * 用户id,非自增
     */
    @TableId(value = "user_id", type = IdType.AUTO)
    private Long userId;

    /**
     * 登录账号
     */
    private String username;

    /**
     * 密码
     */
    private String password;

    /**
     * 盐
     */
    private String salt;

    /**
     * 人员名称
     */
    private String name;

    /**
     * 身份证号
     */
    private String idcard;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 开户银行
     */
    private String bankName;

    /**
     * 银行卡号
     */
    private String bankCardNum;

    /**
     * 入职时间
     */
    private LocalDate entryTime;

    /**
     * 离职时间
     */
    private LocalDate leaveTime;

    /**
     * 人员编号
     */
    private String userNo;

    /**
     * 社保情况
     */
    private Integer socialInsurance;

    /**
     * 入司来源
     */
    private Integer entrySource;

    /**
     * 民族
     */
    private String ethnic;

    /**
     * 人员类型
     */
    private Integer userType;

    /**
     * 备注
     */
    private String remark;

    /**
     * 来源类型：0线下，1:公众号
     */
    private Integer source;

    /**
     * 状态  0：禁用   1：正常
     */
    private Integer status;

    /**
     * 删除标记，-1已删除，0未删除
     */
    private Integer delFlag;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 创建者id
     */
    private Long creatorId;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;

    /**
     * 修改者id
     */
    private Long updaterId;

    /**
     * 推荐码
     */
    private Long recommendCode;

    /**
     * 性别
     */
    private String sex;

    private String oldUserNo;

    private Integer culture;

    private String openId;

    private String unionId;

    /**
     * 现住地址
     */
    private String familyAddr;

    /**
     * 生日
     */
    private LocalDate birthday;

    /**
     * 银行对应数据字典ID
     */
    private Long bankId;

    /**
     * 用户微信头像，最后一个数值代表正方形头像大小（有0、46、64、96、132数值可选，0代表640*640正方形头像），用户没有头像时该项为空。若用户更换头像，原有头像URL将失效。
     */
    private String headImgUrl;

    /**
     * 用户昵称
     */
    private String nickName;

    /**
     * 是否是二次入司,0:否,1:是
     */
    private Integer secondEntry;

    /**
     * 邮箱
     */
    private String email;


    @Override
    protected Serializable pkVal() {
        return this.userId;
    }

}
